<<<<<<< HEAD
#include <ros/ros.h> // 包含ROS的头文件
#include <nav_msgs/Odometry.h> // 包含里程计消息类型的头文件

void OdomCallback(const nav_msgs::Odometry::ConstPtr& msg) {
    // 使用ROS_INFO宏打印出线速度和角速度信息
    ROS_INFO("Linear Velocity: [%f, %f, %f], Angular Velocity: [%f, %f, %f]",
             msg->twist.twist.linear.x, msg->twist.twist.linear.y, msg->twist.twist.linear.z,
             msg->twist.twist.angular.x, msg->twist.twist.angular.y, msg->twist.twist.angular.z);
}

int main(int argc, char** argv) {
    ros::init(argc, argv, "speed"); // 初始化ROS节点
    ros::NodeHandle nh; // 创建节点句柄

    // 订阅里程计数据话题，队列大小为10，回调函数为OdomCallback
    ros::Subscriber odom_sub = nh.subscribe("/odom", 10, OdomCallback);

    // 进入ROS事件循环
    ros::spin();
    return 0;
=======
#include <ros/ros.h> // 包含ROS的头文件
#include <nav_msgs/Odometry.h> // 包含里程计消息类型的头文件

void OdomCallback(const nav_msgs::Odometry::ConstPtr& msg) {
    // 使用ROS_INFO宏打印出线速度和角速度信息
    ROS_INFO("Linear Velocity: [%f, %f, %f], Angular Velocity: [%f, %f, %f]",
             msg->twist.twist.linear.x, msg->twist.twist.linear.y, msg->twist.twist.linear.z,
             msg->twist.twist.angular.x, msg->twist.twist.angular.y, msg->twist.twist.angular.z);
}

int main(int argc, char** argv) {
    ros::init(argc, argv, "speed"); // 初始化ROS节点
    ros::NodeHandle nh; // 创建节点句柄

    // 订阅里程计数据话题，队列大小为10，回调函数为OdomCallback
    ros::Subscriber odom_sub = nh.subscribe("/odom", 10, OdomCallback);

    // 进入ROS事件循环
    ros::spin();
    return 0;
>>>>>>> 7f7473bc172c567e92eefce4838c821c98eacc58
}